集合

1. 概述

在 Swift 中,集合(Collection)是一种用于存储多个相同类型元素的数据结构。集合类型包括数组(Array)、集合(Set)和字典(Dictionary)。每种集合类型都有其特定的用途和特性,理解它们的使用场景和操作方法对于编写高效、清晰的代码至关重要。

2. 数组(Array)

2.1 数组的基本概念

数组是一种有序的集合,其中的元素可以通过索引(Index)来访问。数组中的每个元素都有一个唯一的索引,索引从0开始。

2.2 创建数组

// 创建一个空数组
var emptyArray: [Int] = []

// 创建一个包含初始元素的数组
var numbers: [Int] = [1, 2, 3, 4, 5]

2.3 访问和修改数组元素

// 访问数组元素
let firstNumber = numbers[0]  // 1

// 修改数组元素
numbers[1] = 10  // 现在数组为 [1, 10, 3, 4, 5]

2.4 数组的操作

// 添加元素
numbers.append(6)  // 现在数组为 [1, 10, 3, 4, 5, 6]

// 插入元素
numbers.insert(0, at: 0)  // 现在数组为 [0, 1, 10, 3, 4, 5, 6]

// 删除元素
numbers.remove(at: 2)  // 现在数组为 [0, 1, 3, 4, 5, 6]

3. 集合(Set)

3.1 集合的基本概念

集合是一种无序的集合,其中的元素是唯一的。集合中的元素没有特定的顺序,也不能通过索引来访问。

3.2 创建集合

// 创建一个空集合
var emptySet: Set<Int> = []

// 创建一个包含初始元素的集合
var uniqueNumbers: Set<Int> = [1, 2, 3, 4, 5]

3.3 集合的操作

// 添加元素
uniqueNumbers.insert(6)  // 现在集合为 [1, 2, 3, 4, 5, 6]

// 删除元素
uniqueNumbers.remove(2)  // 现在集合为 [1, 3, 4, 5, 6]

// 检查元素是否存在
let containsThree = uniqueNumbers.contains(3)  // true

4. 字典(Dictionary)

4.1 字典的基本概念

字典是一种存储键值对(Key-Value Pair)的集合。每个键(Key)都是唯一的,并且与一个值(Value)相关联。

4.2 创建字典

// 创建一个空字典
var emptyDictionary: [String: Int] = [:]

// 创建一个包含初始键值对的字典
var scores: [String: Int] = ["Alice": 90, "Bob": 85, "Charlie": 88]

4.3 访问和修改字典元素

// 访问字典元素
let aliceScore = scores["Alice"]  // 90

// 修改字典元素
scores["Bob"] = 92  // 现在字典为 ["Alice": 90, "Bob": 92, "Charlie": 88]

4.4 字典的操作

// 添加元素
scores["David"] = 95  // 现在字典为 ["Alice": 90, "Bob": 92, "Charlie": 88, "David": 95]

// 删除元素
scores.removeValue(forKey: "Charlie")  // 现在字典为 ["Alice": 90, "Bob": 92, "David": 95]

5. 实践练习

5.1 练习1:数组操作

创建一个包含10个整数的数组,然后使用循环遍历数组,打印每个元素的值。

var numbersArray: [Int] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

for number in numbersArray {
    print(number)
}

5.2 练习2:集合操作

创建一个包含重复元素的数组,然后将其转换为集合,并打印集合中的元素。

var duplicateNumbers: [Int] = [1, 2, 2, 3, 4, 4, 5]
var uniqueSet: Set<Int> = Set(duplicateNumbers)

for number in uniqueSet {
    print(number)
}

5.3 练习3:字典操作

创建一个字典,存储学生的姓名和对应的分数。然后遍历字典,打印每个学生的姓名和分数。

var studentScores: [String: Int] = ["Alice": 90, "Bob": 85, "Charlie": 88]

for (name, score) in studentScores {
    print("\(name): \(score)")
}

6. 总结

通过本教程,我们学习了 Swift 中的三种主要集合类型:数组、集合和字典。每种集合类型都有其独特的特性和用途,理解它们的基本操作和使用场景对于编写高效、清晰的代码至关重要。希望你能通过实践练习进一步巩固这些知识,并在实际编程中灵活运用。